package noteIt.notas;

import java.util.List;

import noteIt.notas.R;
import Controlador.DialogoNuevo;
import Controlador.Manejador;
import Modelo.Nota;
import Modelo.NotaDAO;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;


public class ListaNotas extends Activity {
	
	Manejador manejador = Manejador.getInstancia();
    NotaDAO notaDAO;
    List<Nota> listado;
	
	@Override
    public void onCreate(Bundle savedInstanceState) {
	   //Contruccion de una nueva Interfaz de Actividad (Tipico)	
       super.onCreate(savedInstanceState);
       setContentView(R.layout.lista);
       // Instancia del ListView definido en el XML 
       ListView lista = (ListView) this.findViewById(R.id.listaNotas);
       notaDAO = new NotaDAO(this);
       listado = notaDAO.listar();
       //Creacion de un Adaptador de Arrays para contener la informacion que se mostrara en el ListView
       ArrayAdapter<String> adaptador = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, recorrer());
       //Seteo de las propiedades de la Lista
       lista.setAdapter(adaptador);
       lista.setOnItemClickListener(eventoSpinner());
       
    }
	
	//Escuchador del evento producido al hacer click en un item de la Lista
	public AdapterView.OnItemClickListener eventoSpinner(){
		AdapterView.OnItemClickListener n = new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
				String seleccion = arg0.getItemAtPosition(arg2)+""; //Se obtiene la posicion del item clickeado y el contenido del item en esa posicion.
				mostrarNota(seleccion);								//Se llama al metodo "motrarNota" pasandole el encabezado que extrajimos antes
			}
		};
	return n;
	}
	
	public void mostrarNota(String encabezado){
	   	DialogoNuevo nota = new DialogoNuevo(this, encabezado); //Se invoca el constructor del cuadro de dialogo para una nota en particular
		nota.show();											//Se muestra el dialogo contruido
	}
	
	//Artificio
	public String[] recorrer(){	
		
		String[] array = new String[listado.size()];
		for(int i=0;i<listado.size();i++){
			array[i] = listado.get(i).getEncabezado();
		}
		
		return array;
	}
	
}


